Skip to content

feat: 멤버 리스트 메이커스 기수 표기#2192

Closed
ljh0608 wants to merge 15 commits intodevelopfrom
feat/#2191
Closed

feat: 멤버 리스트 메이커스 기수 표기#2192
ljh0608 wants to merge 15 commits intodevelopfrom
feat/#2191

Conversation

@ljh0608
Copy link
Contributor

@ljh0608 ljh0608 commented Feb 9, 2026

🤫 쉿, 나한테만 말해줘요. 이슈넘버

  • close #

🧐 어떤 것을 변경했어요~?

🤔 그렇다면, 어떻게 구현했어요~?

❤️‍🔥 당신이 생각하는 PR포인트, 내겐 매력포인트.

📸 스크린샷, 없으면 이것 참,, 섭섭한데요?

@ljh0608 ljh0608 requested review from imddoy and seong-hui February 9, 2026 15:05
@ljh0608 ljh0608 self-assigned this Feb 9, 2026
@github-actions
Copy link

github-actions bot commented Feb 9, 2026

✨✨ 스토리북으로 확인하기 ✨✨

Comment on lines -495 to 496
content: `${activity.generation}기 ${activity.part}`,
content: `${activity.generation}기 ${activity.team || activity.part}`,
isActive: activity.generation === LATEST_GENERATION,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{
    "id": 1898,
    "generation": 35,
    "part": "",
    "team": "미디어팀"
}

미디어팀일 경우 미디어팀으로 표기될 것 같아요!

@coderabbitai
Copy link

coderabbitai bot commented Feb 13, 2026

Summary by CodeRabbit

  • 새로운 기능

    • iOS용 Apple App Site Association 및 Android용 assetlinks.json 제공으로 앱 연결 지원 추가
  • 개선 사항

    • 멤버 목록 배지가 팀 정보가 있으면 팀을 우선 표시하도록 개선
    • 인증 API 환경변수 값이 개발 환경용으로 갱신됨
  • 버그 수정

    • /.well-known 경로에서 인증 토큰 갱신 흐름을 우회하도록 처리하여 불필요한 갱신 시도 방지

Walkthrough

.env.development의 인증 API URL 변경, GitHub Actions 빌드에서 배포 패키지 생성 단계 추가, .well-known 경로에 Apple/Android 매니페스트를 서빙하는 Pages 함수 추가, API 401 처리에 well-known 경로 토큰 갱신 우회 로직 추가, 멤버 리스트 배지 텍스트 로직 수정.

Changes

Cohort / File(s) Summary
Environment 파일
\.env.development
NEXT_PUBLIC_AUTH_API_URL 값 변경 및 일부 라인 재정렬(crew url은 값 유지).
CI / 배포 워크플로우
.github/workflows/build.yml
새 단계 "Prepare deployment package" 추가: out/deploy/로 복사하고 functions/ 포함; 아티팩트 업로드 경로를 deploy로 변경.
Well-known 서버리스 핸들러
functions/.well-known/apple-app-site-association.ts, functions/.well-known/assetlinks.json.ts, public/.well-known/apple-app-site-association
Apple App Site Association과 Android assetlinks.json을 반환하는 Pages 함수 추가 및 public/.well-known 파일을 RTF에서 JSON 형식으로 교체/정정.
API 인증 흐름
src/api/index.ts
401 처리 시 /.well-known 경로에 대해 토큰 리프레시 로직을 수행하지 않도록 조기 반환하는 가드 추가.
프론트엔드 멤버 리스트
src/components/members/main/MemberList/index.tsx
Badge 텍스트 생성 로직 수정: 기존 generation + part 대신 generation + (team가 있으면 team, 없으면 part)로 표시; 불필요한 중복 import 정리(Spacing 추가).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • seong-hui
  • imddoy

Poem

🐰 새 변수 바람 불어오고,
작은 파일들 길 따라 늘어서네.
잘 알려진 경로엔 JSON이 춤추고,
배지엔 팀 이름이 반짝이며,
빌드 상자엔 함수들이 함께 들어가요. ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Merge Conflict Detection ⚠️ Warning ⚠️ Unable to check for merge conflicts: Invalid branch name format
Description check ❓ Inconclusive PR 설명이 템플릿 형식이지만 구현 내용과 관련된 실제 정보가 없고, 모든 섹션이 비어있어 변경사항에 대한 의미 있는 정보를 전달하지 못하고 있습니다. PR 설명에 변경사항, 구현 방식, 논의 사항 등을 구체적으로 작성하여 검토자가 변경사항을 쉽게 이해할 수 있도록 개선해주세요.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목이 멤버 리스트 메이커스 기수 표기 기능 추가를 명확하게 설명하고 있으며, 실제 변경사항(MemberList 컴포넌트에서 badge 내용 수정)과 일치합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/#2191
⚔️ Resolve merge conflicts (beta)
  • Auto-commit resolved conflicts to branch feat/#2191
  • Create stacked PR with resolved conflicts
  • Post resolved changes as copyable diffs in a comment

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/components/members/main/MemberList/index.tsx (1)

491-497: ⚠️ Potential issue | 🟡 Minor

Profile.activities 타입 정의 오류 수정 필요

Profile 타입에서 activities[].teamstring으로 정의되어 있으나, 실제 데이터는 null 또는 빈 문자열("")을 포함할 수 있습니다. src/pages/members/edit.tsx, src/pages/members/upload.tsx 등에서 activity.team === UNSELECTED || activity.team === '' 체크를 통해 빈 문자열을 명시적으로 null로 변환하는 패턴이 있으므로, team: string | null으로 수정하세요.

현재 코드의 || 연산자는 null과 빈 문자열 모두를 처리하므로 올바른 선택입니다. 따라서 연산자를 ??로 변경할 필요는 없습니다.

🤖 Fix all issues with AI agents
In @.env.development:
- Line 14: The NEXT_PUBLIC_CREW_API_URL environment variable currently includes
a trailing slash which can cause double-slash URLs when concatenated with
endpoints (e.g., axios baseURL + "/internal/post/{id}"); remove the trailing
slash from the NEXT_PUBLIC_CREW_API_URL value so it matches the other URL vars
(e.g., change to https://crew-api-dev.sopt.org) and also ensure the
.env.development file ends with a newline character; update the value for
NEXT_PUBLIC_CREW_API_URL and save the file with a final newline.
🧹 Nitpick comments (3)
.github/workflows/build.yml (1)

44-48: functions 디렉토리 부재 시 빌드 실패 가능성

cp -r functions deploy/ 명령은 functions 디렉토리가 존재하지 않으면 빌드가 실패합니다. 다른 브랜치나 향후 해당 디렉토리가 제거될 경우를 대비해 방어적으로 처리하는 것이 좋습니다.

제안
       run: |
         mkdir -p deploy
         cp -r out/* deploy/
-        cp -r functions deploy/
+        if [ -d functions ]; then cp -r functions deploy/; fi
public/.well-known/apple-app-site-association (1)

1-13: 정적 파일과 서버리스 함수 중복 제공

public/.well-known/apple-app-site-association(정적 파일)과 functions/.well-known/apple-app-site-association.ts(서버리스 함수)가 동일한 콘텐츠를 제공합니다. Cloudflare Pages에서 functions/ 라우트가 정적 파일보다 우선하므로 이 정적 파일은 실제로 서빙되지 않을 수 있습니다. 둘 중 하나만 유지하거나, 정적 파일이 폴백 용도인지 명확히 하는 것이 좋습니다.

functions/.well-known/assetlinks.json.ts (1)

1-13: JSON 템플릿 리터럴 내 들여쓰기 불일치

sha256_cert_fingerprints 배열 항목(Line 8-9)의 들여쓰기가 나머지 JSON 구조와 일치하지 않습니다. 기능적 문제는 없지만 가독성을 위해 정렬하는 것이 좋습니다.

제안
 const ASSETLINKS_JSON = `[
   {
     "relation": ["delegate_permission/common.handle_all_urls"],
     "target": {
       "namespace": "android_app",
       "package_name": "org.sopt.official",
       "sha256_cert_fingerprints": [
-      "29:23:1F:E3:7A:FD:76:9C:58:CA:F3:E2:D9:7C:A1:69:CF:04:A8:6E:5B:8A:C6:56:6A:6F:E8:FD:D8:FF:47:43",
-      "30:8A:35:1F:E1:88:94:6F:BC:E9:B2:D5:FC:2F:9B:F2:10:35:2A:43:B8:36:03:8B:C4:1B:EA:51:23:76:1C:00"
+        "29:23:1F:E3:7A:FD:76:9C:58:CA:F3:E2:D9:7C:A1:69:CF:04:A8:6E:5B:8A:C6:56:6A:6F:E8:FD:D8:FF:47:43",
+        "30:8A:35:1F:E1:88:94:6F:BC:E9:B2:D5:FC:2F:9B:F2:10:35:2A:43:B8:36:03:8B:C4:1B:EA:51:23:76:1C:00"
       ]
     }
   }
 ]`;

@github-actions
Copy link

🚀 프리뷰 배포 확인하기 🚀

https://d3227d3c.sopt-internal-dev.pages.dev

@imddoy imddoy self-requested a review February 14, 2026 02:27
@ljh0608 ljh0608 closed this Feb 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants